<template>
  <div>
    <a-card :bordered="false">
      <f-search-form @searchHandler="searchHandler">
        <f-search-form-item label="专业包代码" name="majorCode" slot="advanced" />
        <f-search-form-item label="专业包名称" name="majorName"/>
        <f-search-form-item label="工程包代码" name="packageNo" slot="advanced" />
        <f-search-form-item label="工程包名称" name="packageName"/>
        <f-search-form-item label="材料WBS" name="materialWbsCode" slot="advanced" />
        <f-search-form-item label="材料代码" name="materialCode" slot="advanced" />
        <f-search-form-item label="层级号" name="levelNo" slot="advanced" />
        <f-search-form-item label="科目名称" name="subjectName" slot="advanced" />
        <f-search-form-item label="区域" name="materialArea" slot="advanced" />
        <f-search-form-item label="系统" name="materialUse" slot="advanced" />
        <f-search-form-item label="历史版本" name="versionId"  type="select" ref="versionData" :showAll="true" :autoLoad="true" :data="api.bmep2.selectVersionList" labelKey="versionNo" valueKey="versionId" slot="advanced"/>
        <f-search-form-item label="履历筛选" name="planType" type="select" :data="hDataDemo" slot="advanced" @change="typeChange" ></f-search-form-item>
      </f-search-form>
      <f-table ref="table" rowKey="materialPlanId" :scroll="{x:1980,y:columns.length*35}":columns="columns" :exportBtn="false" :multiple="false" :operator="operator" :params="queryParam" :api="api.bmep2" handler="materialPlan200PageListHandler">
        <!--<span slot="action" slot-scope="text, record">-->
          <!--<template>-->
            <!--<a @click="$refs.drawer.showDrawer(record)">编辑</a>-->
            <!--<a-divider type="vertical"/>-->
          <!--</template>-->
          <!--<a-dropdown>-->
            <!--<a class="ant-dropdown-link">更多 <a-icon type="down"/></a>-->
            <!--<a-menu slot="overlay">-->
              <!--<a-menu-item v-if="$auth('table.delete')">-->
                <!--<a href="javascript:;" @click="$refs.table.del(record)">删除</a>-->
              <!--</a-menu-item>-->
            <!--</a-menu>-->
          <!--</a-dropdown>-->
        <!--</span>-->
      </f-table>
      <bmp-update-drawer ref="updateDrawer" :listType="listType"></bmp-update-drawer>
    </a-card>
  </div>
</template>
<script>
  import bmpUpdateDrawer from './bmp_update_drawer.vue'
  import api from './js/api'
  export default {
    name: 'TableList',
    components: {
      bmpUpdateDrawer
    },
    props: {
      // versionId: {
      //   type: String,
      //   default: ''
      // },
      projectStatus: {
        type: String,
        default: ''
      },
      projectId: {
        type: String,
        default: ''
      }
    },
    data() {
      let me = this
      //操作按钮
      let operator = []
      // operator.push({
      //   name: '提交',
      //   icon: '',
      //   that: this,
      //   handler: function(table, that) {
      //     if (that.projectStatus === 1){
      //       that.$message.error('项目已锁定不支持操作')
      //       return
      //     }
      //     that.merge200()
      //   }
      // })
      operator.push({
        name: '修正变更',
        icon: '',
        that: this,
        handler: function(table, that) {
          if (that.projectStatus === 1){
            that.$message.error('项目已锁定不支持操作')
            return
          }
          let parameters = {}
          parameters = table.parameter
          that.listType = 1
          that.$refs.updateDrawer.showDrawer(1,parameters)
        }
      })
      operator.push({
        name: '追加变更',
        icon: '',
        that: this,
        handler: function(table, that) {
          if (that.projectStatus === 1){
            that.$message.error('项目已锁定不支持操作')
            return
          }
          let parameters = {}
          parameters = table.parameter
          that.listType = 2
          that.$refs.updateDrawer.showDrawer(2,parameters)
        }
      })
      // operator.push({
      //   name: '下载模板',
      //   icon: '',
      //   that: this,
      //   handler: function(table, that) {
      //     // that.zc200Submit()
      //   }
      // })
      // operator.push({
      //   name: '200数据导入',
      //   icon: '',
      //   that: this,
      //   handler: function(table, that) {
      //     // that.zc200Submit()
      //   }
      // })
      return {
        api:  Object.assign(api, this.api),
        //列表初始化查询参数
        queryParam: {
          projectId: me.projectId
          // versionId: me.versionId
        },
        vDataDemo: [{ label: '200.1', value: 1 }, { label: '200.2', value: 2 }, { label: '200.0', value: 3 }],
        hDataDemo: [{ label: '修正变更', value: 1 }, { label: '追加变更', value: 2 }],
        listType: 1, // 1 修正计划  追加变更
        // 表头
        columns: [
          {
            title: '序号',
            width: 60,
            align: 'center',
            customRender: (text, record, index) => index + 1
          },
          {
            title: '专业代码',
            width: 100,
            align: 'center',
            dataIndex: 'majorCode'
          },
          {
            title: '专业名称',
            width: 100,
            align: 'center',
            dataIndex: 'majorName'
          },
          {
            title: '工程包名称',
            width: 100,
            align: 'center',
            dataIndex: 'packageName'
          },
          {
            title: '工程包代码',
            width: 100,
            align: 'center',
            dataIndex: 'packageNo'
          },
          {
            title: '材料WBS代码',
            width: 100,
            align: 'center',
            dataIndex: 'materialWbsCode'
          },
          {
            title: '全物料代码',
            width: 100,
            align: 'center',
            dataIndex: 'materialCode'
          },
          // {
          //   title: '设备、材料名称',
          //   width: 200,
          //   align: 'center',
          //   dataIndex: 'materialName'
          // },
          // {
          //   title: '型号/规格',
          //   width: 200,
          //   align: 'center',
          //   dataIndex: 'materiaSpecs'
          // },
          // {
          //   title: '项目名称',
          //   width: 200,
          //   align: 'center',
          //   dataIndex: 'materiaSpecs'
          // },
          // {
          //   title: '材料项目描述',
          //   width: 200,
          //   align: 'center',
          //   dataIndex: 'materialDesc'
          // },
          // {
          //   title: '技术参数或技术说明',
          //   width: 200,
          //   align: 'center',
          //   dataIndex: 'technicalData'
          // },
          // {
          //   title: '科目名称',
          //   width: 100,
          //   align: 'center',
          //   dataIndex: 'subjectName'
          // },
          {
            title: '层级号',
            width: 100,
            align: 'center',
            dataIndex: 'levelNo'
          },
          // {
          //   title: '项目',
          //   width: 100,
          //   align: 'center',
          //   dataIndex: 'subjectName'
          // },
          // {
          //   title: '对外合同描述',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'contractDesc'
          // },
          {
            title: '区域',
            width: 100,
            align: 'center',
            dataIndex: 'materialArea'
          },
          {
            title: '系统',
            width: 100,
            align: 'center',
            dataIndex: 'materialUse'
          },
          {
            title: '标前工程量',
            width: 100,
            align: 'center',
            dataIndex: 'beforeMarkQuantity'
          },
          // {
          //   title: '100预算成本工程量',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'costQuantity100'
          // },
          {
            title: '200预算成本工程量',
            width: 150,
            align: 'center',
            dataIndex: 'costQuantity200'
          },
          {
            title: '损耗',
            width: 100,
            align: 'center',
            dataIndex: 'loss'
          },
          {
            title: '计量单位',
            width: 100,
            align: 'center',
            dataIndex: 'measurementUnit'
          },
          {
            title: '200采购计划量',
            width: 120,
            align: 'center',
            dataIndex: 'planPurchaseCount'
          },
          {
            title: '审批状态',
            align: 'center',
            width: 120,
            dataIndex: 'applayStatus',
            customRender: function (text) {
              return me.columnFormatter(me.api.bmep2.applayStatus, text)
            }
          }
          // ,
          // {
          //   title: '有合同主材单价',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'contractInstallPrice1'
          // },
          // {
          //   title: '拟合同主材单价',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'contractInstallPrice2'
          // },
          // {
          //   title: '合同主材单价',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'contractInstallPrice3'
          // },
          // {
          //   title: '有合同其他单价',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'contractOtherPrice1'
          // },
          // {
          //   title: '拟合同其他单价',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'contractOtherPrice2'
          // },
          // {
          //   title: '合同其他单价',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'contractOtherPrice3'
          // },
          // {
          //   title: '添加时间',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'createTime'
          // },
          // {
          //   title: '更新时间',
          //   width: '100',
          //   align: 'center',
          //   dataIndex: 'updateTime'
          // }
        ],
        operator: operator
      }
    },
    created() {
    },
    methods: {
      // merge200() {
      //   let that = this
      //   that.http.post(that, {
      //     url: that.api.bmep2.margeplan200,
      //     data: {
      //       projectId : this.queryParam.projectId
      //     },
      //     success(me, data) {
      //       me.$message.success('合并成功')
      //     }
      //   })
      // },
      typeChange(val) {
        this.detailsParams.versionType = val
        this.refs.versionData.initData(this.detailsParams)
      }
    }
  }
</script>
